Methods And Systems For Providing Content

ABSTRACT

Disclosed are methods and systems for providing alternative content to a user while the user performs a media control request (e.g. fast forward request, fast rewind request) on media content (e.g., television episode, movie, advertisement, and the like) that is being viewed by the user. The content can be caused to be displayed based on a time remaining until the anticipated end of the media control request and/or a requested viewing speed of the media control request (e.g., 2x, 4x, etc. . . . ).

BACKGROUND

Content consumers utilize media controls (e.g., fast forward, fastrewind) when consuming content. In digital media systems the mediacontrols utilize trick play operations, which mimic analog media controlfeedback (e.g. visual increased frame speed). Oftentimes content willcontain advertisements and consumers will perform a media controloperation in an attempt to skip the advertisements. In so doing, theconsumer will be presented with a blur of activity on the screen as theunderlying trick play operation is being performed and the trick playoperation may actually interfere with viewing the content. For example,the media control might be a fast forward operation that goes beyond theadvertisements and fast forwards into the content. The consumer willneed to rewind in order to begin watching the content that immediatelyfollows the advertisements. The end result is that advertisements areoften not watched during media control and consumers are inconveniencedby “overshooting” into content. These and other shortcomings areaddressed in the present disclosure.

SUMMARY

It is to be understood that both the following general description andthe following detailed description are exemplary and explanatory onlyand are not restrictive, as claimed. Provided are methods and systemsfor providing content. More particularly, provided are methods andsystems for causing display of content to a user while the user performsa media control request (e.g. fast forward request, fast rewindrequest). The content can be caused to be displayed based on a speed ofthe media control request (e.g., 2×, 4×, etc. . . . ) and/or a timeremaining until the anticipated end of the media control request. Forexample, if a user performs a media control request (e.g., fast-forward)while advertisements are being caused to be displayed to the user, asecond advertisement can be caused to be displayed for the duration ofthe media control request (e.g., while the user is fast-forwarding).

In another example, when a user performs a media control request thatutilizes a trick play operation (e.g., a fast forward request, a fastrewind request) while a first content item (e.g., a first advertisement)is being outputted for display, a second content item (e.g., a secondadvertisement) can be determined. The first content item and the secondcontent item can then be caused to be displayed simultaneously while themedia control request is being performed. The first content item can becaused to be displayed according to a requested viewing speed of themedia control request (e.g., 4 times of viewing speed), and the secondcontent item can be caused to be displayed at another viewing speed(e.g., normal viewing speed).

In an aspect, an example method can comprise receiving a first mediacontrol request while a first content item is being outputted fordisplay. A time point of the first content item associated with thefirst media control request can be determined. A second content item canbe determined based on the time point associated with the first mediacontrol request, the first content item, and a request parameter. Therequest parameter can comprise a requested viewing speed requested bythe first media control request. The first content item and the secondcontent item can then be caused to be displayed. The first content itemand the second content item can be configured to be displayedsimultaneously.

In another aspect, an example method can comprise receiving a requestsuch as a first media control request while a first content item isbeing outputted for display. A time point of the first content itemassociated with the first media control request can be determined. Ifthe time point associated with the first media control request is duringa main portion of the first content item, then an image can be caused tobe displayed until a second request is received. For example, the imagecan be caused to be displayed over the first content item, in place ofthe first content, or in combination with the first content item untilthe second request is received. If the time point associated with thefirst media control request is during an advertisement portion of thefirst content item, then instead of the image the advertisement portionof the first content item and a selected second content item can becaused to be displayed. The advertisement portion and the selectedsecond content item can be configured to be displayed simultaneouslyuntil the end of the advertisement portion of the first content item.

In a further aspect, an example method can comprise receiving with afirst media control request a requested viewing speed, a time point, anda first content item identifier. A content segment can be determinedbased on the first content item identifier. Also, a plurality of firstcontent items associated with the content segment can be determined. Themethod can determine a duration of the plurality of first content itemsfrom the time point and an end point of the content segment based on therequested viewing speed. A plurality of second content items associatedwith the plurality of first content items can be determined and one ormore of the plurality of second content items can be caused to bedisplayed. The one or more of the plurality of second content items canhave a combined duration equal to the duration.

Additional advantages will be set forth in part in the description whichfollows or may be learned by practice. The advantages will be realizedand attained by means of the elements and combinations particularlypointed out in the appended claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this specification, illustrate embodiments and together with thedescription, serve to explain the principles of the methods and systems:

FIG. 1 is a block diagram of an exemplary system environment in whichthe present systems and methods can operate;

FIG. 2 is a block diagram of another exemplary system environment inwhich the present systems and methods can operate;

FIG. 3A is a block diagram illustrating an example of contentpresentation;

FIG. 3B is a diagram illustrating an example of content presentationaccording to FIG. 3A;

FIG. 3C is a diagram illustrating another exemplary of contentpresentation according to FIG. 3A;

FIG. 3D is a diagram illustrating an example of content presentationaccording to FIG. 3A;

FIG. 3E is a diagram illustrating an example of content presentationaccording to FIG. 3A;

FIG. 3F is a diagram illustrating an example of content presentationaccording to FIG. 3A;

FIG. 4 is a flowchart illustrating an exemplary method;

FIG. 5 is a flowchart illustrating another exemplary method;

FIG. 6 is a flowchart illustrating another exemplary method; and

FIG. 7 is a block diagram of an exemplary system in which the presentsystems and methods can operate.

DETAILED DESCRIPTION

Before the present methods and systems are disclosed and described, itis to be understood that the methods and systems are not limited tospecific methods, specific components, or to particular implementations.It is also to be understood that the terminology used herein is for thepurpose of describing particular embodiments only and is not intended tobe limiting.

As used in the specification and the appended claims, the singular forms“a.” “an,” and “the” include plural referents unless the context clearlydictates otherwise. Ranges may be expressed herein as from “about” oneparticular value, and/or to “about” another particular value. When sucha range is expressed, another embodiment includes from the oneparticular value and/or to the other particular value. Similarly, whenvalues are expressed as approximations, by use of the antecedent“about,” it will be understood that the particular value forms anotherembodiment. It will be further understood that the endpoints of each ofthe ranges are significant both in relation to the other endpoint, andindependently of the other endpoint.

“Optional” or “optionally” means that the subsequently described eventor circumstance may or may not occur, and that the description includesinstances where said event or circumstance occurs and instances where itdoes not.

Throughout the description and claims of this specification, the word“comprise” and variations of the word, such as “comprising” and“comprises,” means “including but not limited to,” and is not intendedto exclude, for example, other components, integers or steps.“Exemplary” means “an example of” and is not intended to convey anindication of a preferred or ideal embodiment. “Such as” is not used ina restrictive sense, but for explanatory purposes.

Disclosed are components that can be used to perform the disclosedmethods and systems. These and other components are disclosed herein,and it is understood that when combinations, subsets, interactions,groups, etc. of these components are disclosed that while specificreference of each various individual and collective combinations andpermutation of these may not be explicitly disclosed, each isspecifically contemplated and described herein, for all methods andsystems. This applies to all aspects of this application including, butnot limited to, steps in disclosed methods. Thus, if there are a varietyof additional steps that can be performed it is understood that each ofthese additional steps can be performed with any specific embodiment orcombination of embodiments of the disclosed methods.

The present methods and systems may be understood more readily byreference to the following detailed description of preferred embodimentsand the examples included therein and to the Figures and their previousand following description.

As will be appreciated by one skilled in the art, the methods andsystems may take the form of an entirely hardware embodiment, anentirely software embodiment, or an embodiment combining software andhardware aspects. Furthermore, the methods and systems may take the formof a computer program product on a computer-readable storage mediumhaving computer-readable program instructions (e.g., computer software)embodied in the storage medium. More particularly, the present methodsand systems may take the form of web-implemented computer software. Anysuitable computer-readable storage medium may be utilized including harddisks, CD-ROMs, optical storage devices, or magnetic storage devices.

Embodiments of the methods and systems are described below withreference to block diagrams and flowchart illustrations of methods,systems, apparatuses and computer program products. It will beunderstood that each block of the block diagrams and flowchartillustrations, and combinations of blocks in the block diagrams andflowchart illustrations, respectively, can be implemented by computerprogram instructions. These computer program instructions may be loadedonto a general purpose computer, special purpose computer, or otherprogrammable data processing apparatus to produce a machine, such thatthe instructions which execute on the computer or other programmabledata processing apparatus create a means for implementing the functionsspecified in the flowchart block or blocks.

These computer program instructions may also be stored in acomputer-readable memory that can direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablememory produce an article of manufacture including computer-readableinstructions for implementing the function specified in the flowchartblock or blocks. The computer program instructions may also be loadedonto a computer or other programmable data processing apparatus to causea series of operational steps to be performed on the computer or otherprogrammable apparatus to produce a computer-implemented process suchthat the instructions that execute on the computer or other programmableapparatus provide steps for implementing the functions specified in theflowchart block or blocks.

Accordingly, blocks of the block diagrams and flowchart illustrationssupport combinations of means for performing the specified functions,combinations of steps for performing the specified functions and programinstruction means for performing the specified functions. It will alsobe understood that each block of the block diagrams and flowchartillustrations, and combinations of blocks in the block diagrams andflowchart illustrations, can be implemented by special purposehardware-based computer systems that perform the specified functions orsteps, or combinations of special purpose hardware and computerinstructions.

Disclosed are methods and systems for causing display of content to auser while the user performs a media control request (e.g. fast forwardrequest, fast rewind request) on media content being outputted fordisplay to the user. For example, while a user is consuming mediacontent such as a recorded television show or an on-demand video, themedia content can have advertisements that are a part of, or wererecorded with, the media content. The user consuming the media contentwith the advertisements can perform media control requests (e.g. fastforward, play, stop, rewind) with the media content. When the userperforms a media control request while advertisements are beingoutputted for display, the advertisements might not be displayed to theuser (or might be displayed as a blur as a result of a trick playoperation). Disclosed herein are several options to cause to bedisplayed an advertisement during the time it takes to perform the mediacontrol request. For example, an advertisement that is to be caused tobe displayed during the media control request can be selected based on arequested viewing speed of the media control request (e.g., 2×, 4×, etc.. . . ) and an anticipated time that the user will have to view theadvertisement given the requested viewing speed of the media controlrequest.

In another example, when a user performs a media control request thatutilizes a trick play operation (e.g., a fast forward request, a rewindrequest, a fast rewind request) while a first content item (e.g., afirst advertisement) is being outputted for display, a second contentitem (e.g., a second advertisement) can be determined. The first contentitem and the second content item can be configured to be displayedsimultaneously. For example, the first content item can be caused to bedisplayed according to the trick play operation (e.g., 4 times normalviewing speed), and the second content item can be caused to bedisplayed at a normal viewing speed. In some aspects, the first contentitem and second content item can be related. In other aspects, the firstcontent item and second content item can be unrelated. In an aspect, themethods and systems can be utilized to display an abbreviated version ofan advertisement that would have otherwise been played had the user notfast forwarded the advertisement. In another aspect, the user can bepresented with a static advertisement during a fast forward period.Furthermore, the methods and systems can utilize a count-down timer toprovide the user with a visual display indicating when the user shoulddiscontinue the media control request.

FIG. 1 illustrates various aspects of an exemplary system in which thepresent methods and systems can operate. Those skilled in the art willappreciate that present methods may be used in systems that employ bothdigital and analog equipment. One skilled in the art will appreciatethat provided herein is a functional description and that the respectivefunctions can be performed by software, hardware, or a combination ofsoftware and hardware.

The system 100 can comprise a central location 101 (e.g., a headend),which can receive content (e.g., data, input programming, and the like)from multiple sources. The central location 101 can combine the contentfrom the various sources and can distribute the content to a user (e.g.,subscriber) via a distribution system 116.

In an aspect, the central location 101 can receive content from avariety of sources 102 a, 102 b, 102 c. The content can be transmittedfrom the source to the central location 101 via a variety oftransmission paths, including wireless paths (e.g. satellite paths 103a, 103 b) or a terrestrial path 104. The central location 101 can alsoreceive content from a direct feed source 106 via a direct line 105.Other input sources can comprise capture devices, such as a video camera109 or a server 110 (e.g., a video on-demand server, a pay-per-viewserver). The signals provided by the content sources can include asingle content item or a multiplex that includes several content items.

As an example, content sources 102 a, 102 b, 102 c can be any type ofprovider capable of sourcing media including, but not limited to, a highspeed data service provider, cable, satellite, or broadcast serviceprovider having capabilities to support linear (e.g., broadcast,switched digital video (SDV)) and non-linear (e.g., video on-demand(VOD)) modes of delivering television related services, a telephonyservice provider, for example, wireline, wireless. VoIP, cellular), aserver, and the like.

The central location 101 can comprise one or a plurality of receivers111 a, 111 b, 111 c, 111 d that are each associated with an inputsource. For example, MPEG encoders, such as an encoder 112, are includedfor encoding local content or a video camera 109 feed. A switch 113 canprovide access to the server 110, which can be a Pay-Per-View server, avideo on-demand server, a data server, an internet router, a networksystem, a phone system, and the like. Some signals may requireadditional processing, such as signal multiplexing, prior to beingmodulated. Such multiplexing can be performed by a multiplexer (mux)114.

The central location 101 can comprise one or a plurality of modulators115 for interfacing to the distribution system 116. The modulators 115can convert the received content into a modulated output signal suitablefor transmission over the distribution system 116. The output signalsfrom the modulators 115 can be combined, using equipment, such as acombiner 117, for input into the distribution system 116.

A control system 118 can permit a system operator to control and monitorfunctions and performance of the system 100. The control system 118 caninterface, monitor, and/or control a variety of functions, including,but not limited to, the channel lineup for the television system,billing for each user, conditional access for content distributed tousers, and the like. The control system 118 can provide input to themodulators 115 for setting operating parameters, such as system specificMPEG table packet organization or conditional access information. Thecontrol system 118 can be located at the central location 101 or at aremote location.

In an aspect, the distribution system 116 can distribute data (e.g.,content items) from the central location 101 to a content managementsystem 119. In an aspect, the content management system 119 can receivea first media control request (e.g., fast forward request) from a userdevice 120 while a first content item (e.g., a first advertisement) isbeing outputted for display. In an aspect, a content item can compriseplayable content (e.g., video, images, audio, and combinations thereof)and content metadata. As an example, content metadata can comprisecontent title, content provider, content type (e.g., localadvertisement, non-local advertisement), content format (e.g., digital,analog), content length (e.g., temporal data for the interval betweencontent starting point and content ending point), content identifier(e.g., content id), content release date, content update frequency, andthe like.

The content management system 119 can be configured to determine a timepoint associated with the first media control request (e.g., fastforward request). In another aspect, the first media control request cancomprise the time point. For example, the content management system 119can determine that the time point associated with the first mediacontrol request (e.g., fast forward request) is 40 seconds before theend of the first content item (e.g., first advertisement), that the timepoint is within an advertisement period of known length (e.g., contentsegment), and the like. In an aspect, the content management system 119can be configured to determine a second content item based on the timepoint associated with the first media control request and the firstcontent item. For example, if the time point associated with the firstmedia control request is 40 seconds before the end of the first contentitem (e.g., first advertisement), and the first media control request isa 4× fast forward request, the content management system 119 candetermine a second content item having a duration of 10 seconds (40seconds divided by 4 equals 10 seconds). In an aspect, the secondcontent item can be determined based on the first content item using,for example, pre-determined classifications/associations. By way ofexample, the pre-determined classifications can be stored as metadataassociated with the first content item and/or the second content item. Afirst content item can then be associated with one or more secondcontent items based on the classifications. Associations can be basedon, for example, content similarity (identical or similar productsand/or advertisers), region, content target audience, content length,combinations thereof, and the like. For example, the second content itemcan be an abbreviated (e.g., 10 second) version of the first contentitem (e.g., the first advertisement). In another example, the secondcontent item can be any type of advertisement, or other content.

In an aspect, the content management system 119 can poll (e.g.,interrogate, query, communicate with, etc.) the central location 101 torequest the determined second content item and receive the requestedsecond content item upon request. In another aspect, the contentmanagement system 119 can comprise a storage system configured forstoring a plurality of content items (e.g., a plurality of secondcontent items) obtained from a content provider (e.g., advertiser, thecentral location 101). A second content item can be determined and/orretrieved from the storage system according to the metadata of thestored content items.

In an aspect, the first content item and the determined second contentitem can be caused to be displayed simultaneously to the user device 120or the determined second content item can be caused to be displayed inplace of the first content item. In an aspect, a network 121 coupledbetween the content management system 119 and the user device 120 cantransmit data between the content management system 119 and the userdevice 120. As an example, the data can comprise a stream of content,such as a video stream, audio stream, metadata or other data associatedwith the stream, and/or the like transmitted from the content managementsystem 119 to the user device 120. As another example, the data cancomprise a first media control request (e.g., fast forward request)transmitted from the user device 120 to the content management system119.

In an aspect, the distribution system 116 and the network 121 can eachinclude one or more networks or types of networks and communicationlinks thereto capable of carrying communications, media content, contentitems, and/or data signals between content provider at the centrallocation 101, content management system 119, and the user device 120. Asan example, the distribution system 116 and/or the network 121 cancomprise a packet switched network (e.g., internet protocol basednetwork), a non-packet switched network (e.g., quadrature amplitudemodulation based network), and/or the like. The distribution system 116and/or the network 121 can comprise network adapters, switches, routers,and the like connected through wireless links (e.g., radio frequency,satellite) and/or physical links (e.g., fiber optic cable, coaxialcable, Ethernet cable). In one aspect, the distribution system 116and/or the network 121 can be configured to provide communications froma telephone, cellular devices, a modem, and/or other electronic devicesto and throughout the system 100.

In an aspect, the content management system 119 can be in communicationwith one or more user devices 120 via the network 121. By way ofexample, the content management system 119 can be a personal computer, aportable computer, a smartphone, a server, a router, a network computer,a peer device or other common network node, and the like. As anotherexample, the user device 120 can be a personal computer, communicationterminal, set-top box, television, smartphone, laptop, tablet, GPS,vehicle entertainment system, multimedia playback device, portableelectronic device, and the like. The user device 120 can be a widget orvirtual device for displaying content in a picture-in-pictureenvironment. In an aspect, the user device 120 does not need to be in afixed location. In an aspect, a decoder can be coupled between thecontent management system 119 and the user device 120 to decode thecontent for display on the user device 120.

The system 100 may be implemented in various ways. For example, in anembodiment, the central location 101 and the content management system119 can be hosted on different computer systems, and can communicatewith each other through a network, for example, the distribution system116. In another embodiment, the central location 101 and the contentmanagement system 119 can be present on the same computer system, andthus may communicate with each other in an inter-computer manner. In anaspect, the methods and systems disclosed can be located within, orperformed on, one or more central locations 101, the distribution system116, the content management system 119, the network 121, and the userdevice 120. In an aspect, the content management system 119 can belocated at or close to a user premises. For example, the contentmanagement system 119 can be located at a neighborhood node.

FIG. 2 illustrates an exemplary system environment in which the presentsystems and methods can operate. In an aspect, the content managementsystem 119 can be in communication with the user device 120. In anaspect, the content management system 119 can be disposed locally orremotely relative to the user device 120. As an example, the user device120 and the content management system 119 can be in communication via aprivate and/or public network 121, such as the Internet or a local areanetwork. Other forms of communication can be used, such as wired andwireless telecommunication channels.

As an example, the content management system 119 can be a personalcomputer, a portable computer, a smartphone, a server, a router, anetwork computer, a peer device, other common network node, and thelike. As another example, the user device 120 can be an electronicdevice, such as a computer, a smartphone, a laptop, a tablet, a set topbox, a display device, or other device capable of communicating with thecontent management system 119.

In an aspect, the user device 120 can comprise a communication element122 for providing an interface to a user to interact with the userdevice 120 and/or providing communicating between the user device 120and the content management system 119. In an aspect, the communicationelement 122 can be any interface for presenting and/or receivinginformation to/from the user, such as a user request for specificcontent, a request for a trick play operation (and associatedparameters), and the like. An example interface may be a communicationinterface, such as a web browser (e.g., Internet Explorer, MozillaFirefox, Google Chrome, Safari, or the like). Other software, hardware,and/or interfaces can be used to provide communication between the userand the user device 120. In another aspect, the communication element122 can request or query various files from a local source and/or aremote source. As an example, the communication element 122 of the userdevice 120 can transmit data from the user device 120 to a local orremote device, such as the content management system 119. For example,the communication element 122 can transmit a media control request(e.g., fast forward request, fast rewind request) to the contentmanagement system 119 while a first content item (e.g., a firstadvertisement) is being outputted for display.

In an aspect, the user device 120 can be associated with a useridentifier or a device identifier 123. As an example, the deviceidentifier 123 can be any identifier, token, character, string, or thelike, for differentiating one user or user device from another user oruser device. In a further aspect, the device identifier 123 can identifya user or user device as belonging to a particular class of users oruser devices. As a further example, the device identifier 123 cancomprise information relating to the user device, such as amanufacturer, a model or type of device, a service provider associatedwith the user device 120, a state of the user device 120, a locator,and/or a label or classifier. Other information can be represented bythe device identifier 123. In another aspect, the device identifier 123can be received by the content management system 119 as part of arequest for a trick play operation, so that the content managementsystem 119 can provide one or more second content items (determined bythe methods disclosed herein) to the user device 120 according to itsrespective device identifier 123.

In an aspect, the device identifier 123 can comprise an address element124 and a service element 125. In an aspect, the address element 124 cancomprise or provide an internet protocol address, a network address, amedia access control (MAC) address, an Internet address, or the like. Asan example, the address element 124 can be relied upon to establish acommunication session between the user device 120 and the contentmanagement system 119 or other devices and/or networks. As a furtherexample, the address element 124 can be used as an identifier or locatorof the user device 120. In an aspect, the address element 124 can bepersistent for a particular network. In another aspect, the addresselement 124 can be received by the content management system 119 as partof the request (e.g., fast forward request) when a first content item isbeing outputted for display, so that the content management system 119can provide a second content item to the user device 120 at its locationaccording to the respective address element 124.

In an aspect, the service element 125 can comprise an identification ofa service provider (e.g., internet service provider, video on demandservice provider) associated with the user device 120 and/or with theclass of the user device 120. The class of the user device 120 can berelated to a type of device, capability of device, type of service beingprovided, and/or a level of service (e.g., business class, service tier,service package, etc.). In an aspect, the address element 124 can beused to identify or retrieve data from the service element 125, or viceversa. As a further example, one or more of the address element 124 andthe service element 125 can be stored remotely from the user device 120and retrieved by one or more devices, such as the user device 120 or thecontent management system 119. Other information can be represented bythe service element 125.

In an aspect, the content management system 119 can be a network deviceor server for communicating with the user device 120. As an example, thecontent management system 119 can communicate with the user device 120for providing data and/or services. In an aspect, the content managementsystem 119 can allow the user device 120 to interact with remoteresources, such as data, devices, and files. As an example, the contentmanagement system 119 can be configured as (or disposed at) a centrallocation (e.g., a headend, or processing facility), which can receivecontent (e.g., data, input programming) from multiple sources. Thecontent management system 119 can combine the content from the multiplesources and can distribute the content to user (e.g., subscriber)locations via a distribution system.

In an aspect, the content management system 119 can comprise acommunication element 129 for providing an interface to a user tointeract with the content management system 119 and/or providingcommunication between the user device 120 and the content managementsystem 119. In an aspect, the communication element 129 can be anyinterface for presenting and/or receiving information to/from the user.In another aspect, the communication element 129 can request or queryvarious files from a local source and/or a remote source. As an example,the communication element 129 can transmit data (e.g., content items)from the content management system 119 to the user device 120. As afurther example, the communication element 129 can communicate with acontent provider (e.g., advertisement provider, a central location 101)to receive content items (e.g., advertisements).

In an aspect, the content management system 119 can manage thecommunication between the user device 120 and a database 128 for sendingand receiving data there between. As an example, the database 128 canstore a plurality of files (e.g., content items), user identifiers,content identifiers, content metadata, or other information. As afurther example, the user device 120 can request and/or retrieve a filefrom the database 128. The user device 120 can transmit requests (e.g.,fast forward, rewind, fast rewind) and request parameters (e.g.,requested viewing speed 2×, 3×, 4×, 5×, and the like) to the contentmanagement system 119. In an aspect, the database 128 can storeinformation relating to the user device 120, such as the address element124 and/or the service element 125. As an example, the contentmanagement system 119 can obtain the device identifier 123 from the userdevice 120 and retrieve information from the database 128, such as theaddress element 124 and/or the service element 125. As a furtherexample, the content management system 119 can obtain the addresselement 124 from the user device 120 and can retrieve the serviceelement 125 from the database 128, or vice versa. Any information can bestored in and retrieved from the database 128. In an aspect, the contentmanagement system 119 can retrieve content stored in the database 128upon request for the content from user device 120. For example, thedatabase 128 can comprise a storage system 126 configured for storingcontent (e.g., first content item, second content item). The database128 can be disposed remotely from the content management system 119 andaccessed via direct or indirect connection. The database 128 can beintegrated with the content management system 119 or some other deviceor system.

In an aspect, the storage system 126 can be configured for storingcontent items and associated metadata. In an aspect, data related to oneor more portions of the content items can be obtained from contentmetadata. For example, metadata associated with a content item cancomprise content title, content provider (e.g., advertisement provider),content format (e.g., digital, analog), content type (e.g., nationaladvertisement, local advertisement), content duration (e.g., temporaldata for the interval between content starting point and content endingpoint), content identifier (e.g., content id), content release date, andthe like.

In an aspect, the content management system 119 can comprise a processor127. The processor 127 can be configured to process content. In anaspect, the processor 127 can be configured to determine time points incontent according to content metadata. For example, when the contentmanagement system 119 receives a first media control request (e.g., fastforward request, fast rewind request) while a first content item (e.g.,first advertisement) is being outputted for display, the processor 127can be configured to determine time points associated with the firstmedia control request and the first content item. In an aspect, timepoints can be determined by accessing metadata of the first contentitem. As an example, the metadata can comprise temporal data for thestarting point and ending point of a first content item, duration of thefirst content item, and the like. For example, a time point of “10seconds offset” can indicate 10 seconds after the starting point of thefirst content item. In an aspect, starting points and/or ending pointscan be characterized by a specific digital sequence. For example, thestarting point and/or ending points can comprise Society of CableTelecommunications Engineers (SCTE) cue packets within digital MPEG-2content. As another example, starting points and/or ending points cancomprise encoded cue tones identifying a splice point within an analogcontent.

The processor 127 can be configured to determine a second content itembased on the duration between the time point associated with the firstmedia control request and the end of the first content item (e.g., firstadvertisement). For example, if the time point associated with the firstmedia control request is 40 seconds before the end of the first contentitem (e.g., first advertisement), and the first media control request isa 4× fast forward request, the content management system 119 candetermine a second content item that would last, for example, 40 secondsdivided by 4, resulting in 10 seconds. In another aspect, if the timepoint is associated with a time point at or near the starting point ofthe first content, and the first media control request is a 4× fastforward request, the content management system 119 can determine asecond content item that would last as long as the duration of the firstcontent item divided by 4. In an aspect, the processor 127 can determinean abbreviated version (e.g., 10-second version) of the first contentitem (e.g., the first advertisement) according to metadata (e.g.,content theme, content type, content length) of the first and/or secondcontent item. Similarly, if the time point associated with the firstmedia control request (e.g. fast rewind request) is 20 seconds after thestarting point of the first content item (e.g., first advertisement),and the first media control request is a 4× fast rewind request, thecontent management system 119 can determine a second content item thatwould last, for example, 20 seconds divided by 4, resulting in 5seconds. In an aspect, the second content item can comprise one or moreof a video clip, a static image, a code, a tag, a link, audio,combinations thereof, and the like.

In another aspect, the processor 127 can be configured to receive arequest, a time point, and a first content item identifier from the userdevice 120. The request parameter can comprise a requested viewing speed(e.g., 2×, 3×, 4×, 5×, etc. . . . ). The time point can comprise a pointin time during a first content item. The first content item identifiercan comprise any code, text, string, and the like that can determine afirst content item. The processor 127 can determine the first contentitem based on the first content item identifier and determine a firstduration of the first content item (and/or the remaining duration) basedon the time point and the first content item. In an aspect, theprocessor 127 can access metadata and/or one or more databases 128comprising information related to duration of a plurality of firstcontent items. The processor 127 can then determine a target durationbased on the request parameter and the first duration. For example, therequest parameter can comprise a requested viewing speed of 5× and thefirst duration can comprise 60 seconds. Accordingly, the target durationcan be determined by dividing 60 by 5, resulting in a target duration of12 seconds. The processor 127 can utilize the target duration todetermine one or more second content items whose duration (alone orcombined) equals the target duration. The processor 127 can then selectat least one of the identified one or more second content items based onuser information. User information can comprise user subscriptioninformation, user demographic information, viewing history, userinterests (e.g., hobbies, favorite teams, political views), and/or thelike. In an aspect, user information can comprise preferenceinformation. As an example, the preference information can indicate aspecific user (e.g., viewer, customer) prefers a particular brand ofproduct (e.g., a particular brand of shoes) and/or a particular class ofproduct (e.g., automobile). Accordingly, a second content item that isrelevant to the user information can be determined. In an aspect, thecontent items comprise advertisements and the selected one or moresecond content items can comprise abbreviated versions of one or morefirst content items.

In an aspect, the content management system 119 can request thedetermined second content item(s) from a content provider. In anotheraspect, the content management system 119 can retrieve the determinedsecond content item(s) from the storage system 126. The contentmanagement system 119 can provide the first content item and thedetermined second content item simultaneously. In another aspect, thecontent management system 119 can provide the second content item inplace of the first content item. In an aspect, the first content itemcan be rendered on the user device 120 at a first speed (e.g., requestedtrick play speed) and the second content item can be rendered on theuser device at a second speed (e.g., normal viewing speed).

FIG. 3A illustrates an aspect of content presentation. As illustrated inFIG. 3A, when a media control (e.g. fast forward) request is given by auser, a first content item 303 can be caused to be displayed in a fullscreen 301, and a second content item 304 can be caused to be displayedin an inset 302 of the full screen 301. In an aspect, the inset 302 canbe placed in a specific location of the full screen 301. For example,the specific location can be a lower left corner, a lower right corner,or center of the full screen 301. In an aspect, the first content item303 can be caused to be displayed at a first speed according to themedia control request (e.g., four times of viewing speed). The secondcontent item 304 can be caused to be displayed at a second speed (e.g.,normal viewing speed). In an aspect, other content items can bedisplayed in combination with the first content item 303 and the secondcontent item 304. FIG. 3B-FIG. 3F illustrate further examples of contentpresentation during a media control request.

FIG. 3B illustrates an example of the full screen 301 and the inset 302of FIG. 3A. FIG. 3B illustrates an example where the inset 302 displaysthe second content item 304 which can be a version of the first contentitem 303 on which the media control request is being performed. Thefirst content item 303 can appear in the full screen 301 as the mediacontrol request is being performed. For example, the second content item304 can be an abbreviated version of the first content item 303 (e.g.advertisement). In an aspect, a duration of the abbreviatedadvertisement can depend on the viewing speed of the media controlrequest. For example, the first content item 303 in the full screen 301can be a minute long advertisement when provided at normal viewingspeed. However, if the media control request is a fast forward requestof four times the normal viewing speed, then it would take fifteenseconds to fast forward through the first content item 303. Therefore,the second content item 304 in the inset 302 can be a fifteen secondabbreviated advertisement. In another example, the second content item304 in the inset 302 can be another advertisement that was or will bealtered by the media control request, which is not presently beingviewed in the full screen 301 as the first content item 303. In anotherexample, the second content item 304 being displayed in the inset 302can be an advertisement or other content item that is not any of theadvertisements being fast forwarded. An example of the other contentitem that can be displayed is illustrated in the lower left corner ofFIG. 3B, which illustrates an indication of fast forward speed. Theindication can be viewed in combination with the first content item 303and the second content item 304.

FIG. 3C illustrates another example of content presentation according toFIG. A. As shown in FIG. 3C, the presentation of the first content item303 and the second content item 304, can be swapped. The first contentitem 303 can be caused to be displayed in the inset 302 of the fullscreen 301, and the second content item 304 can be caused to bedisplayed in the full screen 301. In the example, the inset 302 can beplaced in a specific location of the full screen 301. For example, thespecific location can be a lower left corner, a lower right corner, orcenter of the full screen 301 as is illustrated. In an aspect, theborder of the inset 302 can be in the form of a device or product (e.g.,a smartphone, a tablet, a PDA) intended to be advertised. The firstcontent item 303 being fast forwarded can be caused to be displayed at afirst viewing speed such as four times the normal speed as illustratedin FIG. 3C. The first viewing speed can be the requested viewing speedof the request parameter. The second content item 304, which includesthe border of the inset 302, can be an advertisement provided at asecond viewing speed (e.g., normal viewing speed) or a static image. Inother aspects, a different media control request can be used, such asrewind.

FIG. 3D illustrates another example of content presentation. Asillustrated in FIG. 3D, the second content item 304 can be caused to bedisplayed in the full screen 301, and the first content item 303 can becaused to be displayed in the inset 302 of the full screen 301. In anaspect, the inset 302 can be placed in a specific location of the fullscreen 301. For example, the specific location can be a lower leftcorner, a lower right corner, or center of the full screen 301. Thelower left corner of the inset 302 of FIG. 3D illustrates an example ofan indication of fast forward speed. In an aspect, the media controlrequest can be any media control such as rewind, fast forward, skipforward, and the like. FIG. 3D illustrates a static advertisement as thesecond content item 304. In the example, the advertisement that is thefirst content item 303 is displayed in the inset 302 in the lower lefthand corner and is being fast forwarded at a rate of four times thenormal viewing speed. This example can be suitable for advertisers thatdo not have an abbreviated advertisement ready to promote, or as areplacement for advertisements in the first content item 303 that arealready abbreviated when the media control request is being performed onthe first content item 303.

FIG. 3E is a diagram illustrating yet another example of contentpresentation. As illustrated in FIG. 3E, the first content item 303 canbe caused to be displayed in the inset 302. The second content item 304can be caused to be displayed in the full screen 301. In addition to thevarious forms for content presentation illustrated in FIG. 3A throughFIG. 3D, a count-down timer 305 can be caused to be displayed on aspecific position of a full screen, for example, the lower right cornerof the full screen. The count-down timer 305 can indicate a time (e.g.,2 seconds) remaining to the end of the first content item 303 based on aviewing speed corresponding to the media control request (e.g., fastforward request). The count-down timer enables a user to know when topress “Play” to transition from the advertisement to the program withoutfast forwarding into the program.

FIG. 3F illustrates yet another example of content presentation. Asillustrated in FIG. 3F, the first content item 303 can be caused to bedisplayed in the inset 302. The second content item 304 can be caused tobe displayed in the full screen 301. In addition to the various forms ofcontent presentation illustrated in FIG. 3A through FIG. 3E, a speedindicator 307 can be displayed to indicate the speed at which the firstcontent item 303 is being played. For example, when the first contentitem 303 is being outputted for display at four times normal viewingspeed, a speed indicator 307 shown as “4×” or “>>4”, and the like, canbe displayed on a specific location of a screen (e.g., upper leftcorner, upper right corner). In the example illustrated by FIG. 3F, thefirst content item 303 is being rewound based on a media controlrequest. The first content item 303 being rewound can be presented inthe inset 302 while the second content item 304 can be presented in thefull screen 301 but playing forward as an abbreviated advertisement at anormal viewing speed.

FIG. 4 is a flowchart illustrating an example method 400 for causingdisplay of content. At a step 402, a first media control request can bereceived while a first content item is being outputted for display. Inan aspect, the first media control request can comprise one or more of afast forward request, a fast rewind request, a rewind request, a skiprequest, and the like. The first media control request can have anassociated request parameter, for example, a requested viewing speed(e.g., 2×, 3×, 4×, 5×, 6×, and the like) that indicates the speed of thefirst content item. The first media control request can be received fromuser commands entered via a remote control, buttons on a user device,voice control, and/or user interface elements displayed on a userdevice. As an example, the first content item can be a televisionprogram, a movie, an advertisement (e.g., first advertisement), or thelike. The first content item can be presented on a user device. As anexample, the first media control request can be transmitted from theuser device 120 to the content management system 119.

At a step 404, a time point of the first content item associated withthe first media control request can be determined. As an example, theprocessor 127 can be configured to determine time points associated withthe first media control request. In an aspect, time points can bedetermined by accessing metadata of the first content item. As anexample, the metadata can comprise temporal data for the starting pointand the ending point of a first content item, duration of the firstcontent item, a duration of a content segment to which the first contentbelongs (e.g., an advertisement spot of a predetermined amount of timeduring which multiple advertisements can be provided), combinationsthereof and the like. For example, a time point can indicate a timeafter a starting point and/or before an ending point of the firstcontent item and/or content segment. In an aspect, the starting pointand/or the ending point can be characterized by a specific digitalsequence. For example, a starting point and/or an ending point cancomprise SCTE cue packets within digital MPEG-2 content. As anotherexample, starting points and/or ending points can be encoded cue tonesidentifying a splice point within analog content.

At a step 406, a second content item can be determined based on arequested viewing speed associated with the first media control request,the time point of the first content item associated with the first mediacontrol request, and the first content item. The second content item canbe identified by determining a duration between the time pointassociated with the first media control request and an end of the firstcontent item, dividing the duration by the requested viewing speed ofthe first media control request (e.g., request parameter) resulting in atarget duration, and determining one or more second content items withthe target duration (alone or combined). The processor 127 can beconfigured to determine the second content item based on the durationbetween the time point associated with the first media control requestand the end of the first content item (e.g., first advertisement) and/ora content segment. For example, if the time point associated with thefirst media control request is 40 seconds before the end of the firstcontent item (e.g., first advertisement), and the first media controlrequest comprises a fast forward request with a 4× viewing speed, thecontent management system 119 can determine a second content item thatwould last, for example, 40 seconds divided by 4, resulting in a targetduration of 10 seconds for a second content item. Similarly, if the timepoint associated with the first media control request (e.g. fast rewindrequest) is 20 seconds after the starting point of the first contentitem (e.g., first advertisement), and the first media control requestcomprises a fast rewind request with a 4× viewing speed, the contentmanagement system 119 can determine a second content item that wouldlast, for example, 20 seconds divided by 4 resulting in a targetduration of 5 seconds.

In an aspect, the second content item can be determined based on thefirst content item. By way of example, such identification can occurusing one or more pre-determined classifications/associations. By way ofexample, the pre-determined classifications can be stored as metadataassociated with the first content item and/or the second content item. Afirst content item can be associated with one or more second contentitems. Associations can be based on, for example, content similarity(identical or similar products and/or advertisers), region, contenttarget audience, content length, combinations thereof, and the like. Forexample, the second content item can be a short-form/abbreviated (e.g.,10 second) version of the first content item (e.g., the firstadvertisement). In another example, the second content item can be anytype of advertisement, or other content.

As an example, the second content item can be a second advertisement. Inan aspect, the second content item can be an abbreviated version of thefirst content item. As an example, the second content item can compriseone or more of a video clip, a static image, a code, a tag, a link,combinations thereof, and the like. In an aspect, the processor 127 candetermine the abbreviated version (e.g., 10-second version) of the firstcontent item (e.g., the first advertisement) according to metadata(e.g., content theme, content type, content length) associated with thefirst and/or second content item.

In an aspect, a determination of a second content item can comprisedetermining a second content item according to user informationassociated with the first media control request. In an aspect, the userinformation can comprise user subscription information, user demographicinformation, viewing history, user interests (e.g., hobbies, favoriteteams, political views), and/or the like. In an aspect, user informationcan comprise preference information. As an example, the preferenceinformation can indicate a specific user (e.g., viewer, customer)prefers a particular brand of product (e.g., a particular brand ofshoes) and/or a particular class of product (e.g., automobile).Accordingly, a second content item that is relevant to the userinformation can be determined.

At a step 408, the first content item and the second content item can becaused to be displayed simultaneously. In another aspect, the secondcontent item can be caused to be displayed in place of the first contentitem. In an aspect, the first content item can be caused to be displayedat a first speed, and the second content item can be caused to bedisplayed at a second speed. By way of example, the first speed can begreater than the second speed. In an aspect, a timer can be provided.The timer can indicate a time to the end of the first content item beingcaused to be displayed at the first speed and/or a time to the end of acontent segment to which the first content item belongs (e.g., end of acommercial break). FIG. 3A through FIG. 3F illustrate various examplesof relative content presentation of the first content item and thesecond content item that can be applied to the methods described herein.

In an aspect, a second media control request, after the first mediacontrol request, can be received from a user device (e.g., the userdevice 120). For example, the second media control request can be apause request. A video frame associated with the second media controlrequest can be determined and/or modified. In an aspect, modifying thevideo frame can comprise inserting one or more of a code, a tag, a link,combinations thereof, and the like. As an example, the code can be aresponse code. As another example, the tag can be a meta-tag. As anotherexample, the link can be a uniform resource locator (URL). For example,if a “Pause” request is received while fast forwarding, a video frame atthe time of the pause request can be determined and displayed for theduration of the pause. In an aspect, the video frame at the time of thesecond media control request can be modified. For example, a URL of anadvertised product associated with the first content item and/or thesecond content item can be displayed in the video frame. As anotherexample, a pop-up offer can be shown to a user. The modified video framecan comprise one or more user selectable elements (e.g., clickableproduct hotspots) and can be applied to provide interactive secondscreen experiences to viewers via response codes, URLs, meta-tags, andthe like. Users can request further information about products beingadvertised, order products being advertised, and the like.

The methods can be iteratively applied to each content item that isbeing provided to a user. For example, in a content segment comprised ofa plurality of content items, each content item can be replaced withanother content item. In an aspect, a user can be provided with aplurality of abbreviated versions of advertisements as the user fastforwards through the advertisements.

FIG. 5 is a flowchart illustrating another example method 500 forcausing display of content. At a step 502, a first media control requestcan be received while a first content item is being outputted fordisplay. In an aspect, the first media control request can comprise oneor more of a fast forward request, a fast rewind request, a rewindrequest, a skip request, and the like. The first media control requestcan have an associated request parameter, for example, a requestedviewing speed (e.g., 2×, 3×, 4×, 5×, 6×, and the like) that indicatesthe speed of the first content item. The first media control request canbe received from user commands entered via a remote control, buttons ona user device, voice control, and/or user interface elements. As anexample, the first content item can be a television program, a movie, anadvertisement, or the like. As an example, the first content item cancomprise one or more main portions (e.g., sections of a movie or othernon-advertisement content) and one or more advertisement portions.

At a step 504, a time point associated with the first media controlrequest can be determined. As an example, the processor 127 can beconfigured to determine time points associated with the first mediacontrol request. In an aspect, time points can be determined byaccessing metadata of the first content item. As an example, themetadata can comprise temporal data for the starting point and endingpoint of a first content item, duration of the first content item, aduration of a content segment to which the first content belongs (e.g.,an advertisement spot of a predetermined amount of time during whichmultiple advertisements can be provided), combinations thereof and thelike. For example, a time point can indicate a time after a startingpoint and/or before an ending point of the first content item. In anaspect, the starting point and/or the ending point can be characterizedby a specific digital sequence. For example, a starting point and/or anending point can comprise SCTE cue packets within digital MPEG-2content. As another example, starting points and/or ending points can beencoded cue tones identifying a splice point within analog content.

At a step 506, it can be determined whether the time point of the firstmedia control request is associated with a main portion of the firstcontent item. For example, the processor 127 can determine whether thetime point of the first media control request is during a televisionepisode (main portion) or whether the time point is during anadvertisement portion. If the time point of the first media controlrequest is associated with the main portion of the first content item,then the method 500 can continue with a step 508.

If the time point of the first media control request is associated withthe main portion of the first content item in the step 506, then, in thestep 508, an image can be caused to be displayed until a second requestis received. For example, when a user presses fast forward or fastrewind in a main portion of the first content item (e.g., a movie, atelevision episode), an image can be outputted for display. In anaspect, the image can comprise one or more of a code (e.g., a responsecode), a tag (e.g., meta-tag), and a link (e.g., uniform resourcelocator). In an aspect, the image can be a trick play version of thefirst content item (e.g., a blurred fast forward version). In an aspect,the image can be selected based on user information, for example, userhobby, user preference, user gender, user age group, and the like. Inanother aspect, the image can be selected based on the main portion ofthe first content item. For example, the image can comprise a “screensaver” based on the main portion of the first content item. In anaspect, a second request can be received. For example, the secondrequest can be a play request. Upon receiving the play request, the mainportion of the first content item can resume playing or theadvertisement portion of the first content item can play, depending onwhen the user initiates the play request.

Returning to the step 506, if the time point of the first media controlrequest is associated with the advertisement portion of the firstcontent item instead of the main portion of the first content item, thenthe method 500 can continue to a step 510. At the step 510, theadvertisement portion of the first content item and a selected secondcontent item can be caused to be displayed simultaneously until the endof the advertisement portion of the first content item. In anotheraspect, the selected second content item can be caused to be displayedin place of the advertisement portion of the first content item. Thesecond content item can be selected by determining a duration betweenthe time point associated with the first media control request and anend of the advertisement portion of the first content item, dividing theduration by the requested viewing speed, and determining one or moresecond content items with the duration (alone or combined). FIG. 3Athrough FIG. 3F illustrate various examples of relative contentpresentation of the advertisement portion of the first content item andthe second content item that can be applied to the methods describedherein. In an aspect, the advertisement portion of the first contentitem can be caused to be displayed at a first speed and the selectedsecond content item can be caused to be displayed at a second speed. Byway of example, the first speed can be greater than the second speed.

In an aspect, a selected second content item can be determined based onthe requested viewing speed associated with the first media controlrequest, the time point associated with the first media control request,and the portion of first content item during which the request occurs.The processor 127 can be configured to determine the second content itembased on the duration between the time point associated with the firstmedia control request and the end of the advertisement portion of thefirst content item (e.g., first advertisement(s)). In an aspect, theadvertisement portion of the first content item can comprise a singleadvertisement or a content segment (e.g., multiple advertisements). Forexample, the time point can be associated with the first media controlrequest during an advertisement portion of the first content item, forexample, if the time point associated with the first media controlrequest is 40 seconds before the end of an advertisement that occurs ina break during a movie, and the first media control request is a 4× fastforward request, the content management system 119 can determine asecond content item that would last, for example, 40 seconds divided by4, resulting in a duration of 10 seconds. Accordingly, the secondcontent item can be a second advertisement that has a duration of 10seconds. As an example, the second content item can comprise one or moreof a video clip, a static image, a code, a tag, a link, and the like. Inan aspect, the second content item can be an abbreviated version of theadvertisement portion (e.g., first advertisement) of the first contentitem. In an aspect, the processor 127 can determine the abbreviatedversion (e.g., 10-second version) of the advertisement portion of thefirst content item (e.g., the first advertisement) according to metadata(e.g., content theme, content type, content length) associated with theadvertisement portion of the first content item and/or the secondcontent item(s).

In an aspect, the second content item can be determined based on theadvertisement portion (e.g., first advertisement) of the first contentitem. By way of example, such identification can occur using one or morepre-determined classifications/associations. By way of example, thepre-determined classifications can be stored as metadata associated withthe advertisement portion of the first content item and/or the secondcontent item. The advertisement portion of the first content item can beassociated with one or more second content items. Associations can bebased on, for example, content similarity (identical or similar productsand/or advertisers), region, content target audience, content length,combinations thereof, and the like. For example, the second content itemcan be a short-form (e.g., 10 second) version of the advertisementportion of the first content item (e.g., the first advertisement). Inanother example, the second content item can be any type ofadvertisement, or other content.

In an aspect, a determination of a second content item can comprisedetermining a second content item according to user informationassociated with the first media control request. In an aspect, the userinformation can comprise user subscription information, user demographicinformation, viewing history, user interests (e.g., hobbies, favoriteteams, political views), and/or the like. In an aspect, user informationcan comprise preference information. As an example, the preferenceinformation can indicate a specific user (e.g., viewer, customer)prefers a particular brand of product (e.g., a particular brand ofshoes) and/or a particular class of product (e.g., automobile).Accordingly, a second content item that is relevant to the userinformation can be determined.

The methods can be iteratively applied to each advertisement that makesup the advertisement portion of the first content item. For example, inan advertisement portion comprised of a plurality of advertisements,each advertisement can be replaced with another advertisement. In anaspect, a user can be provided with a plurality of abbreviated versionsof advertisements as the user fast forwards through the advertisements.

FIG. 6 is a flowchart illustrating another example method 600 forproviding content. At a step 602, a request parameter, a time point, anda first content item identifier can be received with a media controlrequest for the first content item. The request parameter can comprise arequested viewing speed of the media control request (e.g., 2×, 3×, 4×,5×, 6×, and the like). The media control request can utilize a trickplay operation (e.g., fast forward, rewind, fast rewind). The time pointcan comprise a time at which a user makes a request. The first contentitem identifier can comprise any unique code that uniquely identifies afirst content item.

At a step 604, a content segment can be determined based on the firstcontent item identifier. In an aspect, the content segment can comprisea plurality of content items (e.g., advertisements). A database thatcomprises information related to which first content items (e.g.,advertisements) are to be played (and when) can be utilized to determinewhich of many content segments is currently being provided to the user.The content segment will have a known duration, a starting point, and anending point, all of which can be determined by accessing the database.In an aspect, the first content item identifier can comprise sufficientinformation to determine the content segment. In another aspect, thefirst content item identifier is optional and the content segment can bedetermined based on the time of receipt of the requested viewing speedand the time point.

A plurality of first content items associated with the content segmentcan be determined. The content segment can comprise several firstcontent items. For example, a content segment can comprise, 1, 2, 3, 4,5, 6, 7, 8, etc. . . . first content items. Each of the plurality offirst content items can have an associated first content identifier. Inan aspect, the plurality of first content items can be advertisements.In a further aspect, the plurality of first content items can be relatedor unrelated.

At a step 606, a duration of the plurality of first content items fromthe time point and to an end point of the content segment during themedia control request can be determined. In an aspect, the duration canbe based on the requested viewing speed. Furthermore, the duration canbe a function of the time point, the end point of the content segment,and the requested viewing speed. For example, the time point can besubtracted from the end point of the content segment to determine anormal time duration of the plurality of first content items. The normaltime duration can be the time to display the content segment at a normalviewing speed. The normal time duration can be divided by the requestedviewing speed to arrive at the duration. For example, if the contentsegment end point is 200 seconds the time point is 20 seconds and therequested viewing speed is 3×, then the duration is 200 minus 20,resulting in 180 seconds divided by the requested viewing speed (180/3)which equals 60 seconds for the duration.

At a step 608, a plurality of second content items associated with theplurality of first content items can be determined. By way of example,such determination can occur using one or moreclassifications/associations. By way of example, theclassifications/associations can be pre-determined, determined inreal-time, or a combination of both. By way of example, thepre-determined classifications/associations can be stored as metadataassociated with the plurality of first content items and/or theplurality of second content items. The plurality of first content itemscan be associated with one or more of the plurality of second contentitems. Associations can be based on, for example, content similarity(identical or similar products and/or advertisers), region, contenttarget audience, content length, combinations thereof, and the like. Forexample, each of the plurality of first content items can have anassociated second content item that is an abbreviated (e.g., 10, 20, 30second) version of the first content item. In another example, theplurality of second content items can be any type of advertisement, orother content.

In a further aspect, determining a plurality of second content itemsassociated with the plurality of first content items can comprisedetermining a second content item according to user information. In anaspect, the user information can comprise user subscription information,user demographic information, viewing history, user interests (e.g.,hobbies, favorite teams, political views), and/or the like. In anaspect, user information can comprise preference information. As anexample, the preference information can indicate a specific user (e.g.,viewer, customer) prefers a particular brand of product (e.g., aparticular brand of shoes) and/or a particular class of product (e.g.,automobile). Accordingly, a second content item that is relevant to theuser information can be determined.

At a step 610, one or more of the plurality of second content items canbe caused to be displayed. The one or more of the plurality of secondcontent items can have a combined duration equal to or less than theduration. The second content items can be caused to be displayed at asecond viewing speed (e.g., normal viewing speed). In an aspect, anumber of the plurality of second content items can be assembled suchthat the combined duration of the second content items is equal to theduration. For example, the duration can be 60 seconds and a plurality ofsecond content items can be determined wherein the plurality of secondcontent items combined has a duration equal to 60 seconds. In anexample, a second content item comprising the duration of 60 seconds canbe caused to be displayed. In another example, three content items(second content items) each comprising a time duration of 20 seconds canbe caused to be displayed. In another example, two content items (secondcontent items) comprising a duration of 30 seconds each can be caused tobe displayed. In other examples other combinations of second contentitems that are equal or less than 60 seconds when combined can be causedto be displayed. In an aspect, the first content items can be caused tobe displayed simultaneously at the requested viewing speed while thesecond content items at the second viewing speed are caused to bedisplayed. FIG. 3A through FIG. 3F illustrate various examples ofrelative content presentation of the first content items and the secondcontent items that can be applied to the methods described herein.

In an exemplary aspect, the methods and systems can be implemented on acomputer 701 as illustrated in FIG. 7 and described below. By way ofexample, the content management system 119 of FIG. 1 and FIG. 2 can be acomputer 701 as illustrated in FIG. 7. The user device 120 of FIG. 1 andFIG. 2 can be the user devices 714 a, 714 b, 714 c as illustrated inFIG. 7. Similarly, the methods and systems disclosed can utilize one ormore computers to perform one or more functions in one or morelocations. FIG. 7 is a block diagram illustrating an exemplary operatingenvironment for performing the disclosed methods. This exemplaryoperating environment is only an example of an operating environment andis not intended to suggest any limitation as to the scope of use orfunctionality of operating environment architecture. Neither should theoperating environment be interpreted as having any dependency orrequirement relating to any one or combination of components illustratedin the exemplary operating environment.

The present methods and systems can be operational with numerous othergeneral purpose or special purpose computing system environments orconfigurations. Examples of well known computing systems, environments,and/or configurations that can be suitable for use with the systems andmethods comprise, but are not limited to, personal computers, servercomputers, laptop devices, and multiprocessor systems. Additionalexamples comprise set top boxes, programmable consumer electronics,network PCs, minicomputers, mainframe computers, distributed computingenvironments that comprise any of the above systems or devices, and thelike.

The processing of the disclosed methods and systems can be performed bysoftware components. The disclosed systems and methods can be describedin the general context of computer-executable instructions, such asprogram modules, being executed by one or more computers or otherdevices. Generally, program modules comprise computer code, routines,programs, objects, components, data structures, etc. that performparticular tasks or implement particular abstract data types. Thedisclosed methods can also be practiced in grid-based and distributedcomputing environments where tasks are performed by remote processingdevices that are linked through a communications network. In adistributed computing environment, program modules can be located inboth local and remote computer storage media including memory storagedevices.

Further, one skilled in the art will appreciate that the systems andmethods disclosed herein can be implemented via a general-purposecomputing device in the form of a computer 701. The components of thecomputer 701 can comprise, but are not limited to, one or moreprocessors or processing units 703, a system memory 712, and a systembus 713 that couples various system components including the processor703 to the system memory 712. In the case of multiple processing units703, the system can utilize parallel computing.

The system bus 713 represents one or more of several possible types ofbus structures, including a memory bus or memory controller, aperipheral bus, an accelerated graphics port, and a processor or localbus using any of a variety of bus architectures. By way of example, sucharchitectures can comprise an Industry Standard Architecture (ISA) bus,a Micro Channel Architecture (MCA) bus, an Enhanced ISA (EISA) bus, aVideo Electronics Standards Association (VESA) local bus, an AcceleratedGraphics Port (AGP) bus, and a Peripheral Component Interconnects (PCI),a PCI-Express bus, a Personal Computer Memory Card Industry Association(PCMCIA), Universal Serial Bus (USB) and the like. The bus 713, and allbuses specified in this description can also be implemented over a wiredor wireless network connection and each of the subsystems, including theprocessor 703, a mass storage device 704, an operating system 705,content processing software 706, content data 707, a network adapter708, system memory 712, an Input/Output Interface 710, a display adapter709, a display device 711, and a human machine interface 702, can becontained within one or more user devices 714 a,b,c at physicallyseparate locations, connected through buses of this form, in effectimplementing a fully distributed system.

The computer 701 typically comprises a variety of computer readablemedia. Exemplary readable media can be any available media that isaccessible by the computer 701 and comprises, for example and not meantto be limiting, both volatile and non-volatile media, removable andnon-removable media. The system memory 712 comprises computer readablemedia in the form of volatile memory, such as random access memory(RAM), and/or non-volatile memory, such as read only memory (ROM). Thesystem memory 712 typically contains data, such as the content data 707,and/or program modules, such as the operating system 705 and the contentprocessing software 706, that are immediately accessible to and/or arepresently operated on by the processing unit 703.

In another aspect, the computer 701 can also comprise otherremovable/non-removable, volatile/non-volatile computer storage media.By way of example, FIG. 7 illustrates a mass storage device 704 whichcan provide non-volatile storage of computer code, computer readableinstructions, data structures, program modules, and other data for thecomputer 701. For example and not meant to be limiting, a mass storagedevice 704 can be a hard disk, a removable magnetic disk, a removableoptical disk, magnetic cassettes or other magnetic storage devices,flash memory cards. CD-ROM, digital versatile disks (DVD) or otheroptical storage, random access memories (RAM), read only memories (ROM),electrically erasable programmable read-only memory (EEPROM), and thelike.

Optionally, any number of program modules can be stored on the massstorage device 704, including by way of example, an operating system 705and the content processing software 706. Each of the operating system705 and the content processing software 706 (or some combinationthereof) can comprise elements of the programming and the contentprocessing software 706. The content data 707 can also be stored on themass storage device 704. The content data 707 can be stored in any ofone or more databases known in the art. Examples of such databasescomprise, DB2®, Microsoft, Access, Microsoft, SQL Server, Oracle®,mySQL, PostgreSQL, and the like. The databases can be centralized ordistributed across multiple systems.

In another aspect, the user can enter commands and information into thecomputer 701 via an input device (not shown). Examples of such inputdevices comprise, but are not limited to, a keyboard, pointing device(e.g., a “mouse”), a microphone, a joystick, a scanner, tactile inputdevices such as gloves, and other body coverings, and the like These andother input devices can be connected to the processing unit 703 via ahuman machine interface 702 that is coupled to the system bus 713, butcan be connected by other interface and bus structures, such as aparallel port, game port, an IEEE 1394 Port (also known as a Firewireport), a serial port, or a universal serial bus (USB).

In yet another aspect, a display device 711 can also be connected to thesystem bus 713 via an interface, such as a display adapter 709. It iscontemplated that the computer 701 can have more than one displayadapter 709 and the computer 701 can have more than one display device711. For example, a display device can be a monitor, an LCD (LiquidCrystal Display), or a projector. In addition to the display device 711,other output peripheral devices can comprise components, such asspeakers (not shown) and a printer (not shown) which can be connected tothe computer 701 via the Input/Output Interface 710. Any step and/orresult of the methods can be output in any form to an output device.Such output can be any form of visual representation, including, but notlimited to, textual, graphical, animation, audio, tactile, and the like.The display 711 and the computer 701 can be part of one device, orseparate devices.

The computer 701 can operate in a networked environment using logicalconnections to one or more user devices 714 a,b,c. By way of example,the computer 701 can be a personal computer, a portable computer, asmartphone, a server, a router, a network computer, a peer device orother common network node, and so on. As another example, the userdevices 714 a,b,c can comprise logical connections between the computer701 and a user device 714 a,b,c can be made via a network 715, such as alocal area network (LAN) and/or a general wide area network (WAN). Suchnetwork connections can be through a network adapter 708. The networkadapter 708 can be implemented in both wired and wireless environments.Such networking environments are conventional and commonplace indwellings, offices, enterprise-wide computer networks, intranets, andthe Internet.

For purposes of illustration, application programs and other executableprogram components, such as the operating system 705, are illustratedherein as discrete blocks, although it is recognized that such programsand components reside at various times in different storage componentsof the computing device 701, and are executed by the data processor(s)of the computer. An implementation of content processing software 706can be stored on or transmitted across some form of computer readablemedia. Any of the disclosed methods can be performed by computerreadable instructions embodied on computer readable media. Computerreadable media can be any available media that can be accessed by acomputer. By way of example and not meant to be limiting, computerreadable media can comprise “computer storage media” and “communicationsmedia.” “Computer storage media” comprise volatile and non-volatile,removable and non-removable media implemented in any methods ortechnology for storage of information, such as computer readableinstructions, data structures, program modules, or other data. Exemplarycomputer storage media comprises, but is not limited to, RAM, ROM,EEPROM, flash memory or other memory technology, CD-ROM, digitalversatile disks (DVD) or other optical storage, magnetic cassettes,magnetic tape, magnetic disk storage or other magnetic storage devices,or any other medium which can be used to store the desired informationand which can be accessed by a computer.

The methods and systems can employ artificial intelligence (AI)techniques, such as machine learning and iterative learning. Examples ofsuch techniques include, but are not limited to, expert systems, casebased reasoning, Bayesian networks, behavior based AI, neural networks,fuzzy systems, evolutionary computation (e.g. genetic algorithms), swarmintelligence (e.g. ant algorithms), and hybrid intelligent systems (e.g.Expert inference rules generated through a neural network or productionrules from statistical learning).

While the methods and systems have been described in connection withpreferred embodiments and specific examples, it is not intended that thescope be limited to the particular embodiments set forth, as theembodiments herein are intended in all respects to be illustrativerather than restrictive.

Unless otherwise expressly stated, it is in no way intended that anymethod set forth herein be construed as requiring that its steps beperformed in a specific order. Accordingly, where a method claim doesnot actually recite an order to be followed by its steps or it is nototherwise specifically stated in the claims or descriptions that thesteps are to be limited to a specific order, it is in no way intendedthat an order be inferred, in any respect. This holds for any possiblenon-express basis for interpretation, including: matters of logic withrespect to arrangement of steps or operational flow; plain meaningderived from grammatical organization or punctuation; the number or typeof embodiments described in the specification.

It will be apparent to those skilled in the art that variousmodifications and variations can be made without departing from thescope or spirit. Other embodiments will be apparent to those skilled inthe art from consideration of the specification and practice disclosedherein. It is intended that the specification and examples be consideredas exemplary only, with a true scope and spirit being indicated by thefollowing claims.

1. A method comprising: receiving a first media control request while afirst content item is being outputted for display; determining a timepoint of the first content item associated with the first media controlrequest; determining a second content item based on: the time point ofthe first content item associated with the first media control request,the first content item, and a requested viewing speed associated withthe first media control request; and causing simultaneous display of thefirst content item and the second content item.
 2. The method of claim1, wherein the first media control request comprises a fast forwardrequest or a fast rewind request.
 3. The method of claim 1, wherein thefirst content item comprises a first advertisement and the secondcontent item comprises a second advertisement.
 4. The method of claim 1,further comprising: determining a duration between the time point of thefirst content item associated with the first media control request andan end of the first content item; and dividing the duration by therequested viewing speed associated with the first media control request,resulting in a target duration, wherein determining the second contentitem based on the requested viewing speed comprises determining thesecond content item from a plurality of content items associated withthe target duration.
 5. The method of claim 1, wherein determining thesecond content item comprises determining the second content itemaccording to user information of a user consuming the first contentitem.
 6. The method of claim 1, wherein the second content item is anabbreviated version of the first content item.
 7. The method of claim 1,wherein causing simultaneous display of the first content item and thesecond content item comprises causing simultaneous display of the firstcontent item at the requested viewing speed and the second content itemat a second viewing speed.
 8. The method of claim 7, further comprisingcausing display of a timer with the first content item and the secondcontent item that indicates a time to an end of the first content itembeing outputted for display at the requested viewing speed.
 9. Themethod of claim 1, wherein causing simultaneous display of the firstcontent item and the second content item comprises causing simultaneousdisplay of the first content item in a full screen and the secondcontent item in an inset of the full screen.
 10. The method of claim 1,wherein causing simultaneous display of the first content item and thesecond content item comprises causing simultaneous display of the secondcontent item in a full screen and the first content item in an inset ofthe full screen.
 11. A method comprising: receiving a first mediacontrol request while a first content item is being outputted fordisplay; determining a time point of the first content item associatedwith the first media control request; if the time point of the firstcontent item associated with the first media control request is during amain portion of the first content item, causing display of an imageuntil a second media control request is received; and if the time pointassociated with the first media control request is during anadvertisement portion of the first content item, causing simultaneousdisplay of the advertisement portion of the first content item and aselected second content item until the end of the advertisement portionof the first content item.
 12. The method of claim 11, wherein the firstmedia control request comprises a fast forward request or a fast rewindrequest.
 13. The method of claim 11, wherein the selected second contentitem is selected based on a requested viewing speed associated with thefirst media control request and the advertisement portion of the firstcontent item.
 14. The method of claim 13, further comprising:determining a duration between the time point of the first content itemassociated with the first media control request and an end of the firstcontent item; dividing the duration by the requested viewing speedassociated with the first media control request, resulting in a targetduration; and determining the selected second content item from aplurality of content items associated with the target duration.
 15. Themethod of claim 11, wherein causing simultaneous display of theadvertisement portion of the first content item and a selected secondcontent item until the end of the advertisement portion of the firstcontent item comprises causing simultaneous display of the advertisementportion of the first content item at the requested viewing speed and theselected second content item at a second viewing speed.
 16. The methodof claim 11, wherein the selected second content item is an abbreviatedversion of the advertisement portion of the first content item.
 17. Themethod of claim 11, wherein causing simultaneous display of theadvertisement portion of the first content item and a selected secondcontent item until the end of the advertisement portion of the firstcontent item comprises causing simultaneous display of the advertisementportion of the first content item in a full screen and the selectedsecond content item in an inset of the full screen.
 18. A methodcomprising: receiving, with a media control request for a first contentitem: a requested viewing speed of the first content item, a time point,and a first content item identifier; determining a content segment basedon the first content item identifier, wherein the content segmentcomprises a plurality of first content items; determining a duration ofthe plurality of first content items from the time point to an end pointof the content segment during the media control request, wherein theduration is based on the requested viewing speed; determining aplurality of second content items associated with the plurality of firstcontent items, wherein the plurality of second content items comprises aplurality of respective abbreviated versions of the plurality of firstcontent items; and causing display of one or more of the plurality ofsecond content items, wherein the one or more of the plurality of secondcontent items comprises a combined duration equal to or less than theduration.
 19. The method of claim 18, wherein determining the pluralityof second content items associated with the plurality of first contentitems comprises: obtaining user information of a user sending the mediacontrol request; comparing the user information to a plurality thirdcontent items; and determining the plurality of second content itemsfrom the plurality of third content items based on the user information.20. The method of claim 18, wherein causing display of one or more ofthe plurality of second content items comprises causing simultaneousdisplay of the plurality of first content items at the requested viewingspeed and the plurality of second content items at a second viewingspeed.